package com.authine.cloudpivot.ext.domain.vo.order;

import com.authine.cloudpivot.ext.enums.finance.InvoiceStatusEnum;
import com.authine.cloudpivot.ext.enums.finance.PaymentStatusEnum;
import com.authine.cloudpivot.ext.enums.finance.ReconciliationStatusEnum;
import com.authine.mvp.app.launcher.domain.SelectorFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderVendorVO {


    /**
     * 供应商订单号
     */
    private String id;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 创建人部门
     */
    private String createdDept;
    /**
     * 创建时间
     */
    private String createdTime;
    /**
     * 拥有者
     */
    private String owner;
    /**
     * 拥有者部门
     */
    private String ownerDept;
    /**
     * 修改人
     */
    private String modifiedBy;
    /**
     * 修改时间
     */
    private String modifiedTime;
    /**
     * 单据号
     */
    private String document;
    /**
     * 单据状态
     */
    private String status;
    /**
     * 客户订单ID
     */
    private String order_customer_id;
    /**
     * 运费
     */
    private BigDecimal freight;
    /**
     * 税前商品合计
     */
    private BigDecimal pretax_total;
    /**
     * 税后商品合计
     */
    private BigDecimal total;
    /**
     * 税后商品运费共计
     */
    private BigDecimal amount;
    /**
     * 下单时间（下单付款的时间）
     */
    private String place_order_time;
    /**
     * 接单时间
     */
    private String confirm_order_time;
    /**
     * 接单人id
     */
    private List<SelectorFormat> order_taker_id;
    /**
     * 接单人名称
     */
    private String order_taker_name;
    /**
     * 供应商ID
     */
    private List<SelectorFormat> organization_id;
    /**
     * 供应商组织名称
     */
    private String organization_name;
    /**
     * 供应商类型
     */
    private String organization_type;
    /**
     * 客户备注
     */
    private String memo;
    /**
     * after_sale
     */
    private String after_sale;
    /**
     * 扩展字段
     */
    private String extends_attr;
    /**
     * 未税运费
     */
    private BigDecimal pretax_freight;
    /**
     * 未税商品运费共计
     */
    private BigDecimal pretax_amount;
    /**
     * 税额
     */
    private BigDecimal tax_payable;
    /**
     * 老状态
     */
    private BigDecimal old_status;
    /**
     * 供应商订单状态
     */
    private String order_vendor_status;
    /**
     * 延期原因
     */
    private String delay_reason;
    /**
     * ERP PO
     */
    private String erp_po;
    /**
     * 运费税额
     */
    private BigDecimal tax_payable_freight;
    /**
     * 收货人
     */
    private String receiver;
    /**
     * 电话
     */
    private String phone;
    /**
     * 邮编
     */
    private String postal;
    /**
     * 地址
     */
    private String address;
    /**
     * 删除
     */
    private Boolean del;
    /**
     * 实际下单人
     */
    private String actual_order;
    /**
     * 订单类型
     */
    private String source;
    /**
     * 数据来源
     */
    private String data_sources;
    /**
     * 商品数量
     */
    private Integer goodsCount;
    /**
     * 货期
     */
    private Integer accountPeriod;  //待删除

    /**
     * 商品
     */
    private List<OrderVendorGoodsVO> goodsList;


    private ReconciliationStatusEnum reconciliationStatus; //对账状态
    private InvoiceStatusEnum invoiceStatus; //开票状态
    private PaymentStatusEnum paymentStatus; //结算状态

    /**
     * ??反了吧
     * (false:平台供应商/true:原有供应商)
     */
    private Boolean platform;//(平台供应商/原有供应商)


}
